1. Field of the Invention
The present invention relates to depth image-based representation (DIBR) of a 3-dimensional (3D) object, and, more particularly, to a DIBR method of modeling a 3D object enabling camera parameters of animation data to be changed in real time in order to improve an animation function of a 3D object, and a modeling method and apparatus and a rendering method and apparatus for a 3D object using the same.
2. Description of the Related Art
FIG. 1 is a series of diagrams illustrating a process of modeling a depth image-based representation (DIBR) object and rendering a DIBR object using a DIBR format generated in a modeler. With reference to FIG. 1, the DIBR modeling process will now be explained. First, using an authoring tool, a 3D object is generated as 3D data or animated 3D data. Using a DIBR modeler, the 3D data is expressed by fixed camera parameters, and depth and color information of the camera parameters, so that the 3D data is generated in an MPEG DIBR format.
Also, according to the DIBR rendering process, by using a DIBR renderer, and by using the camera parameters and depth and color information generated in the modeler, a view volume and a DIBR object are generated as illustrated in FIG. 1. Then, a camera view frustum is generated and a DIBR object in the view frustum is projected on a screen.
When 3D data is generated or rendered using the DIBR method, required camera parameters, depth information and color information are expressed in DepthImage node and DepthImageV2 node of an MPEG specification. The MPEG DepthImage node and DepthImageV2 node are as follows. Here, the camera parameters are included in the fields of the DepthImage node and DepthImageV2 node.
DepthImage { #%NDT=SF3Dnodefield SFVec3fposition0 0 10field SFRotationorientation0 0 1 0field SFVec2ffieldOfView0.785398 0.785398field SFFloatnearPlane10field SFFloatfarPlane100field SFBoolorthographicTRUEfield SFDepthTextureNode  diTexture  NULL}DepthImageV2 { #%NDT=SF3DNodefield SFVec3fposition0 0 10field SFRotationorientation0 0 1 0field SFVec2ffieldOfView0.785398 0.785398field SFFloatnearPlane10field SFFloatfarPlane100field   SFVec2f  splatMinMax  0.1115 0.9875field SFBoolorthographic TRUEfield SFDepthTextureNode  diTexture  NULL}
The fields representing the camera parameter information includes fields for position, orientation, ranges of camera view or angle (fieldOfView), front and back of a camera volume (nearPlane and farPlane) and projection information(orthographic) on whether an object is projected on a camera orthographically or perspectively, and a diTexture field having depth and color information. Also, in addition to these fields, the DepthImageV2 node further includes a field (splatMinMax) indicating a shape to be drawn on a screen, i.e., the minimum value and the maximum value of a splat vector length.
The fields indicating the camera parameter information, included in both the DepthImage node and DepthImageV2 node, are position, orientation, ranges of camera view or angle (fieldOfView), front and back of a camera volume (nearPlane and farPlane) and projection information(orthographic) on whether an object is projected on a camera orthographically or perspectively, (camera parameters: position, orientation, fieldOfView, nearPlane, farPlane, orthographic), and are defined as field types.
Here, when a camera parameter field is defined as the field type, once the camera parameter value is set, the parameter value cannot be changed. Accordingly, when still or animated and/or deformed DIBR data is generated by using the DepthImage node and DepthImageV2 node, camera parameters can be set only once. Also, when the DIBR data is rendered, the camera parameters set in the modeler should be used without change to generate a view volume and in the view volume, a DIBR object should be expressed.
FIG. 2 is a schematic diagram illustrating a process of generating and rendering still or animated DIBR data using fixed camera parameters having the field type (position, orientation, the ranges of camera view or angle (fieldOfView), the front and back of a camera volume (nearPlane and farPlane) and projection information (orthographic) on whether an object is projected on a camera orthographically or perspectively).
Since it is true that once camera parameter values are set in a modeling stage, the values cannot be changed, a possibility of camera animation is not considered. Accordingly, even in a rendering stage, only the fixed camera parameter values set in the modeling stage should be used.
Also in the modeling stage, since only the fixed camera parameters having the field type are used, changing the camera parameters such that they become suitable for dynamically deforming an object in order to model the dynamically deforming object may be impossible. Accordingly, as illustrated in FIG. 3, when the animation of an animated and deformed object is generated, an entire frame of an animation desired to be generated is observed. Then, a maximum bounding box of the object should be calculated. This is a process required to set the bounding box of the object appropriately in order to maintain suitable resolutions of all objects when modeling is performed. Accordingly, camera parameters corresponding to a view frustum are set. Then, when an animation frame which goes beyond the bounding box is added in the modeling stage, the maximum bounding box needs to be updated. The bounding box should be updated, and animation should be generated again from the first frame (2Pass). Accordingly, in the conventional of modeling and/or rendering an image with the fixed camera parameters, the additional manipulation reduces the speed of authoring and causes inconvenience. Also, memory space is unnecessarily used. Accordingly, real time animation reflecting the camera parameters cannot be generated.
Furthermore, when modeling and rendering are performed, there is a possibility that the picture quality of a restored image is degraded. More specifically, the still camera that cannot change the camera parameter values cannot track a moving object that changes with respect to time. Also, the still camera may lose data in hidden areas and deformed areas of the moving object.